[INFO] fetching crate srt-tokio 0.4.4...
[INFO] fixing srt-tokio-0.4.4 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate srt-tokio 0.4.4 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate srt-tokio 0.4.4
[INFO] finished tweaking crates.io crate srt-tokio 0.4.4
[INFO] tweaked toml for crates.io crate srt-tokio 0.4.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate srt-tokio 0.4.4 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate srt-tokio 0.4.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e
[INFO] running `Command { std: "docker" "start" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking take-until v0.2.0
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking indexmap v2.2.3
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling syn v2.0.50
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking streaming-stats v0.2.3
[INFO] [stderr]     Checking keyed_priority_queue v0.4.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking srt-protocol v0.4.4
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking srt-tokio v0.4.4 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/socket/mod.rs (4 fixes)
[INFO] [stderr]        Fixed src/listener/mod.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:81:78
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       -----------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                        |
[INFO] [stdout]     |                                       |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  82 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  83 |                   RejectConnection(session_id, packet) => {
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:84:80
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       -------------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                          |
[INFO] [stdout]     |                                       |                                          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  85 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  86 |                   OpenConnection(session_id, connection) => {
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:87:82
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       ---------------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                            |
[INFO] [stdout]     |                                       |                                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                            up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  89 |                   DelegatePacket(session_id, packet) => {
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:90:78
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       -----------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                        |
[INFO] [stdout]     |                                       |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  92 |                   DropConnection(session_id) => {
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:93:70
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       ---------------------------------^^^^^
[INFO] [stdout]     |                                       |                                |
[INFO] [stdout]     |                                       |                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  94 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout]  47 |               while let Some(packet) = connection.next_packet(Instant::now()) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  52 |
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   ----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout]  47 |             while let Some(packet) = connection.next_packet(Instant::now()) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  48 |                 if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                 -------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:57:56
[INFO] [stdout]     |
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   -----------------------^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:53:36
[INFO] [stdout]     |
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |       |
[INFO] [stdout]     |                              |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   ----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/socket/factory.rs:53:36
[INFO] [stdout]    |
[INFO] [stdout] 53 |             while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]    |                            ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |       |
[INFO] [stdout]    |                            |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                            |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            `data` calls a custom destructor
[INFO] [stdout]    |                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 57 |                 if let Err(e) = output_data.send(data).await {
[INFO] [stdout]    |                                 ----------------------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 60 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   Action::ReleaseData(data) => {
[INFO] [stdout]     |                                       ----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `data` calls a custom destructor
[INFO] [stdout]     |                                       `data` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                       if !output_data.is_closed() {
[INFO] [stdout] 109 |                           if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                           -----------------------^^^^^
[INFO] [stdout]     |                                           |                      |
[INFO] [stdout]     |                                           |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                           |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                       if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                       -------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 | /                     select! {
[INFO] [stdout] 128 | |                         _ = sleep_until(timeout.into()).fuse() => Input::Timer,
[INFO] [stdout] 129 | |                         packet = socket.receive().fuse() =>
[INFO] [stdout] 130 | |                             Input::Packet(packet),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     `__select_result` calls a custom destructor
[INFO] [stdout]     | |                     `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_0` calls a custom destructor
[INFO] [stdout]     | |                     `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_1` calls a custom destructor
[INFO] [stdout]     | |                     `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |               input = match connection.handle_input(now, input) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 106 |                   Action::Close => break,
[INFO] [stdout] 107 |                   Action::ReleaseData(data) => {
[INFO] [stdout]     |                                       ----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `data` calls a custom destructor
[INFO] [stdout]     |                                       `data` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                       if !output_data.is_closed() {
[INFO] [stdout] 109 |                           if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                           ----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 116 |                       if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                       -------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 | /                     select! {
[INFO] [stdout] 128 | |                         _ = sleep_until(timeout.into()).fuse() => Input::Timer,
[INFO] [stdout] 129 | |                         packet = socket.receive().fuse() =>
[INFO] [stdout] 130 | |                             Input::Packet(packet),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     `__select_result` calls a custom destructor
[INFO] [stdout]     | |                     `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_0` calls a custom destructor
[INFO] [stdout]     | |                     `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_1` calls a custom destructor
[INFO] [stdout]     | |                     `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/invalid_packets.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:81:78
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       -----------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                        |
[INFO] [stdout]     |                                       |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  82 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  83 |                   RejectConnection(session_id, packet) => {
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:84:80
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       -------------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                          |
[INFO] [stdout]     |                                       |                                          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  85 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  86 |                   OpenConnection(session_id, connection) => {
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:87:82
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       ---------------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                            |
[INFO] [stdout]     |                                       |                                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                            up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  89 |                   DelegatePacket(session_id, packet) => {
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:90:78
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       -----------------------------------------^^^^^
[INFO] [stdout]     |                                       |                                        |
[INFO] [stdout]     |                                       |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  92 |                   DropConnection(session_id) => {
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       --------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/state.rs:93:70
[INFO] [stdout]     |
[INFO] [stdout]  68 |               let action = self.listener.handle_input(now, input);
[INFO] [stdout]     |                   ------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `action` calls a custom destructor
[INFO] [stdout]     |                   `action` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 |                   SendPacket(packet) => next.input_from(self.socket.send(packet).await),
[INFO] [stdout]     |                                                         ------------------------------
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  80 |                   RequestAccess(session_id, request) => {
[INFO] [stdout]  81 |                       next.input_from(self.request_access(session_id, request).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |                       next.input_from(self.reject_connection(session_id, packet).await)
[INFO] [stdout]     |                                       ------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                       next.input_from(self.open_connection(session_id, connection).await)
[INFO] [stdout]     |                                       --------------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |                       next.input_from(self.delegate_packet(session_id, packet).await)
[INFO] [stdout]     |                                       ----------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                       next.input_from(self.drop_connection(session_id).await)
[INFO] [stdout]     |                                       ---------------------------------^^^^^
[INFO] [stdout]     |                                       |                                |
[INFO] [stdout]     |                                       |                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       |                                up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  94 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   WaitForInput => select! {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  99 | |                     packet = self.socket.receive().fuse() => Input::Packet(packet),
[INFO] [stdout] 100 | |                     response = self.response_receiver.next() => Input::AccessResponse(response),
[INFO] [stdout] 101 | |                     _ = timer_interval.tick().fuse() => Input::Timer,
[INFO] [stdout] 102 | |                     _ = &mut self.close_recvr => break,
[INFO] [stdout] 103 | |                 },
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `__select_result` calls a custom destructor
[INFO] [stdout]     | |                 `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_0` calls a custom destructor
[INFO] [stdout]     | |                 `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `_2` calls a custom destructor
[INFO] [stdout]     | |                 `_2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `action` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/listener/mod.rs:315:39
[INFO] [stdout]      |
[INFO] [stdout]  315 |               while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                         |                          |
[INFO] [stdout]      |                                         |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                         |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  316 |                   let mut srt_socket = request.accept(None).await.unwrap();
[INFO] [stdout]      |                                        --------------------------
[INFO] [stdout]      |                                        |                    |
[INFO] [stdout]      |                                        |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  317 |
[INFO] [stdout]  318 | /                 tokio::spawn(async move {
[INFO] [stdout]  319 | |                     let client_desc = format!(
[INFO] [stdout]  320 | |                         "(ip_port: {}, sockid: {})",
[INFO] [stdout]  321 | |                         srt_socket.settings().remote,
[INFO] [stdout] ...    |
[INFO] [stdout]  344 | |                     start.elapsed().as_secs() as i32
[INFO] [stdout]  345 | |                 });
[INFO] [stdout]      | |                  -
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  346 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/listener/mod.rs:365:50
[INFO] [stdout]     |
[INFO] [stdout] 365 |             while let Some((_instant, _bytes)) = srt_socket.try_next().await? {
[INFO] [stdout]     |                                       ------     ^^^^^^^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                                       |          |                     |
[INFO] [stdout]     |                                       |          |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       |          |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       `_bytes` calls a custom destructor
[INFO] [stdout]     |                                       `_bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 370 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout]  47 |               while let Some(packet) = connection.next_packet(Instant::now()) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  52 |
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   ----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout]  47 |             while let Some(packet) = connection.next_packet(Instant::now()) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  48 |                 if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                 -------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:57:56
[INFO] [stdout]     |
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   -----------------------^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:53:36
[INFO] [stdout]     |
[INFO] [stdout]  48 |                   if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                   -------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |               while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]     |                              ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |       |
[INFO] [stdout]     |                              |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `data` calls a custom destructor
[INFO] [stdout]     |                              `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                   if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                   ----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  73 |               let input = select! {
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `input` calls a custom destructor
[INFO] [stdout]     | |                 `input` will be dropped later as of Edition 2024
[INFO] [stdout]  74 | |                 // one of the entities requested wakeup
[INFO] [stdout]  75 | |                 _ = timeout_fut.fuse() => Input::Timer,
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `__select_result` calls a custom destructor
[INFO] [stdout]     | |             `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_0` calls a custom destructor
[INFO] [stdout]     | |             `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `_1` calls a custom destructor
[INFO] [stdout]     | |             `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `input` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/socket/factory.rs:53:36
[INFO] [stdout]    |
[INFO] [stdout] 53 |             while let Some(data) = connection.next_data(Instant::now()) {
[INFO] [stdout]    |                            ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |       |
[INFO] [stdout]    |                            |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                            |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            `data` calls a custom destructor
[INFO] [stdout]    |                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 57 |                 if let Err(e) = output_data.send(data).await {
[INFO] [stdout]    |                                 ----------------------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 60 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   Action::ReleaseData(data) => {
[INFO] [stdout]     |                                       ----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `data` calls a custom destructor
[INFO] [stdout]     |                                       `data` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                       if !output_data.is_closed() {
[INFO] [stdout] 109 |                           if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                           -----------------------^^^^^
[INFO] [stdout]     |                                           |                      |
[INFO] [stdout]     |                                           |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                           |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 116 |                       if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                       -------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 | /                     select! {
[INFO] [stdout] 128 | |                         _ = sleep_until(timeout.into()).fuse() => Input::Timer,
[INFO] [stdout] 129 | |                         packet = socket.receive().fuse() =>
[INFO] [stdout] 130 | |                             Input::Packet(packet),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     `__select_result` calls a custom destructor
[INFO] [stdout]     | |                     `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_0` calls a custom destructor
[INFO] [stdout]     | |                     `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_1` calls a custom destructor
[INFO] [stdout]     | |                     `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket/factory.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |               input = match connection.handle_input(now, input) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 106 |                   Action::Close => break,
[INFO] [stdout] 107 |                   Action::ReleaseData(data) => {
[INFO] [stdout]     |                                       ----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `data` calls a custom destructor
[INFO] [stdout]     |                                       `data` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                       if !output_data.is_closed() {
[INFO] [stdout] 109 |                           if let Err(e) = output_data.send(data).await {
[INFO] [stdout]     |                                           ----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 116 |                       if let Err(e) = socket.send(packet).await {
[INFO] [stdout]     |                                       -------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 | /                     select! {
[INFO] [stdout] 128 | |                         _ = sleep_until(timeout.into()).fuse() => Input::Timer,
[INFO] [stdout] 129 | |                         packet = socket.receive().fuse() =>
[INFO] [stdout] 130 | |                             Input::Packet(packet),
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     `__select_result` calls a custom destructor
[INFO] [stdout]     | |                     `__select_result` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_0` calls a custom destructor
[INFO] [stdout]     | |                     `_0` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                     `_1` calls a custom destructor
[INFO] [stdout]     | |                     `_1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__select_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_0` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/invalid_packets.rs (1 fix)
[INFO] [stderr]    Migrating tests/crypto.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/ts_streamer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/simple.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/multiplex.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/multiplex_authenticating_server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/multiplex.rs:19:31
[INFO] [stdout]      |
[INFO] [stdout]   19 |       while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                 |                          |
[INFO] [stdout]      |                                 |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   20 |           let mut srt_socket = request.accept(None).await.unwrap();
[INFO] [stdout]      |                                --------------------------
[INFO] [stdout]      |                                |                    |
[INFO] [stdout]      |                                |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   21 | /         tokio::spawn(async move {
[INFO] [stdout]   22 | |             let client_desc = format!(
[INFO] [stdout]   23 | |                 "(ip_port: {}, sockid: {})",
[INFO] [stdout]   24 | |                 srt_socket.settings().remote,
[INFO] [stdout] ...    |
[INFO] [stdout]   48 | |             println!("\nClient {client_desc} disconnected");
[INFO] [stdout]   49 | |         });
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]   50 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/multiplex_authenticating_server.rs:18:31
[INFO] [stdout]      |
[INFO] [stdout]   18 |     while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |                          |
[INFO] [stdout]      |                               |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   19 |         tokio::spawn(async move { handle_request(request).await });
[INFO] [stdout]      |         ----------------------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]   20 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/bidirectional.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/single_packet_tsbpd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/no_timeout.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/receiver.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/receiver.rs:10:42
[INFO] [stdout]     |
[INFO] [stdout]  10 |     while let Some((_instant, _bytes)) = srt_socket.try_next().await? {
[INFO] [stdout]     |                               ------     ^^^^^^^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                               |          |                     |
[INFO] [stdout]     |                               |          |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |          |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `_bytes` calls a custom destructor
[INFO] [stdout]     |                               `_bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  13 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/srt2dash_ffmpeg.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/accesscontrol.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/high_bandwidth.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/accesscontrol.rs:55:35
[INFO] [stdout]      |
[INFO] [stdout]   55 |           while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                     |                          |
[INFO] [stdout]      |                                     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   56 | /             tokio::spawn(async move {
[INFO] [stdout]   57 | |                 let mut sender = match accept(request.stream_id()) {
[INFO] [stdout]   58 | |                     Ok(mut ap) => request.accept(ap.take_key_settings()).await.unwrap(),
[INFO] [stdout]   59 | |                     Err(rr) => {
[INFO] [stdout] ...    |
[INFO] [stdout]   70 | |                 info!("Sender finished");
[INFO] [stdout]   71 | |             });
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |              |
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]   72 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/accesscontrol.rs:125:35
[INFO] [stdout]      |
[INFO] [stdout]  125 |           while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                     |                          |
[INFO] [stdout]      |                                     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  128 |               if let Ok(mut sender) = request
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]  129 | |                 .accept(Some(KeySettings {
[INFO] [stdout]  130 | |                     key_size: KeySize::AES128,
[INFO] [stdout]  131 | |                     passphrase,
[INFO] [stdout]  132 | |                 }))
[INFO] [stdout]  133 | |                 .await
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  138 | /                 tokio::spawn(async move {
[INFO] [stdout]  139 | |                     sender.send_all(&mut stream).await.unwrap();
[INFO] [stdout]  140 | |                     sender.close().await.unwrap();
[INFO] [stdout]  141 | |                     info!("Sender finished");
[INFO] [stdout]  142 | |                 });
[INFO] [stdout]      | |                  -
[INFO] [stdout]      | |__________________|
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  143 |               }
[INFO] [stdout]  144 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/message_splitting.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/multiplexer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/latency_exchange.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rendezvous.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/accesscontrol_server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/accesscontrol_server.rs:40:31
[INFO] [stdout]      |
[INFO] [stdout]   40 |       while let Some(request) = incoming.incoming().next().await {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                 |                          |
[INFO] [stdout]      |                                 |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                 up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   44 |                   let mut sender = request.accept(None).await.unwrap();
[INFO] [stdout]      |                                    --------------------------
[INFO] [stdout]      |                                    |                    |
[INFO] [stdout]      |                                    |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   53 | /                 tokio::spawn(async move {
[INFO] [stdout]   54 | |                     sender.send_all(&mut stream).await.unwrap();
[INFO] [stdout]   55 | |                     sender.close().await.unwrap();
[INFO] [stdout]   56 | |                     info!("Sender finished");
[INFO] [stdout]   57 | |                 });
[INFO] [stdout]      | |                  -
[INFO] [stdout]      | |                  |
[INFO] [stdout]      | |__________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   60 |                   request.reject(reason).await.unwrap();
[INFO] [stdout]      |                   ----------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   63 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/oneshot.rs:478:1
[INFO] [stdout]      |
[INFO] [stdout]  478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/sync/watch.rs:906:1
[INFO] [stdout]      |
[INFO] [stdout]  906 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:943:1
[INFO] [stdout]      |
[INFO] [stdout]  943 | impl<T> Drop for BoundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.30/src/mpsc/mod.rs:1104:1
[INFO] [stdout]      |
[INFO] [stdout] 1104 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.36.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]      |
[INFO] [stdout]  350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/stransmit_interop.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/stransmit_interop.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/stransmit_interop.rs:77:25
[INFO] [stdout]     |
[INFO] [stdout]  77 |     while let Some(a) = stream.next().await {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |    |             |
[INFO] [stdout]     |                    |    |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `a` calls a custom destructor
[INFO] [stdout]     |                    `a` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/stransmit_interop.rs:142:33
[INFO] [stdout]     |
[INFO] [stdout] 142 |             while let Some(p) = conn.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |           |
[INFO] [stdout]     |                                 |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 143 |                 let (_, b) = p.unwrap();
[INFO] [stdout]     |                         -    ----------
[INFO] [stdout]     |                         |    |
[INFO] [stdout]     |                         |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `b` calls a custom destructor
[INFO] [stdout]     |                         `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/accesscontrol_client.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/accesscontrol_client.rs:25:41
[INFO] [stdout]     |
[INFO] [stdout]  25 |     while let Some((_instant, bytes)) = srt_socket.try_next().await? {
[INFO] [stdout]     |                               -----     ^^^^^^^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                               |         |                     |
[INFO] [stdout]     |                               |         |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `bytes` calls a custom destructor
[INFO] [stdout]     |                               `bytes` will be dropped later as of Edition 2024
[INFO] [stdout]  26 |         println!("{}", std::str::from_utf8(&bytes[..]).unwrap());
[INFO] [stdout]  27 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.5.0/src/bytes.rs:522:1
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/sender.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/keepalive.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.62s
[INFO] [stderr] crater-edition-check: srt-tokio v0.4.4 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking srt-tokio v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/listener/mod.rs:80:42
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout]    |                                          ^                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout] 80 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = ListenerStatistics> + Clone + use<>)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/listener/mod.rs:80:43
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout]    |                                           ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout] 80 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = ListenerStatistics> + Clone + use<> ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout]     |                  ^                                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout] 108 +         Pin<&mut (impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>) >,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout]     |                   ^                                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout] 108 +         Pin<&mut (impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<> )>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout]     |                                          ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout] 122 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = SocketStatistics> + Clone + use<>)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:122:43
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout]     |                                           ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout] 122 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = SocketStatistics> + Clone + use<> ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/listener/mod.rs:80:42
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout]    |                                          ^                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout] 80 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = ListenerStatistics> + Clone + use<>)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/listener/mod.rs:80:43
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout]    |                                           ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = ListenerStatistics> + Clone + use<>)) {
[INFO] [stdout] 80 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = ListenerStatistics> + Clone + use<> ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout]     |                  ^                                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout] 108 +         Pin<&mut (impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>) >,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout]     |                   ^                                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         Pin<&mut ((impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<>))>,
[INFO] [stdout] 108 +         Pin<&mut (impl Sink<(Instant, Bytes), Error = impl Debug + use<>> + Unpin + use<> )>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout]     |                                          ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout] 122 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = SocketStatistics> + Clone + use<>)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/socket/mod.rs:122:43
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout]     |                                           ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -     pub fn statistics(&mut self) -> &mut ((impl Stream<Item = SocketStatistics> + Clone + use<>)) {
[INFO] [stdout] 122 +     pub fn statistics(&mut self) -> &mut (impl Stream<Item = SocketStatistics> + Clone + use<> ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0605]: non-primitive cast: `Result<(), _>` as `Result<!, anyhow::Error>`
[INFO] [stdout]   --> tests/message_splitting.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok(()) as Result<_>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0605`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `srt-tokio` (test "message_splitting") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::mem` instead
[INFO] [stdout]  --> tests/stransmit_interop.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     intrinsics::transmute,
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]    --> src/listener/mod.rs:108:55
[INFO] [stdout]     |
[INFO] [stdout] 108 |     use futures::{channel::oneshot, future::join_all, prelude::*};
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e", kill_on_drop: false }`
[INFO] [stdout] 929cd2c3f53b5a54c737ba2d34a0207289320c0b264a9fab749610774080147e
